package com.lanvideo.entity;

import java.time.LocalDateTime;

/**
 * 播放列表视频关联实体类
 */
public class PlaylistVideo {
    private Integer id;
    private Integer playlistId;
    private Integer videoId;
    private Integer orderNum;
    private LocalDateTime addedTime;
    
    // 关联信息
    private String playlistName;
    private String videoTitle;
    private String videoIntro;
    private String videoTags;
    private String uploaderName;
    private LocalDateTime uploadTime;
    private Integer viewCount;

    public PlaylistVideo() {}

    public PlaylistVideo(Integer playlistId, Integer videoId) {
        this.playlistId = playlistId;
        this.videoId = videoId;
        this.orderNum = 0;
    }

    // Getters and Setters
    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getPlaylistId() {
        return playlistId;
    }

    public void setPlaylistId(Integer playlistId) {
        this.playlistId = playlistId;
    }

    public Integer getVideoId() {
        return videoId;
    }

    public void setVideoId(Integer videoId) {
        this.videoId = videoId;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public LocalDateTime getAddedTime() {
        return addedTime;
    }

    public void setAddedTime(LocalDateTime addedTime) {
        this.addedTime = addedTime;
    }

    public String getPlaylistName() {
        return playlistName;
    }

    public void setPlaylistName(String playlistName) {
        this.playlistName = playlistName;
    }

    public String getVideoTitle() {
        return videoTitle;
    }

    public void setVideoTitle(String videoTitle) {
        this.videoTitle = videoTitle;
    }

    public String getVideoIntro() {
        return videoIntro;
    }

    public void setVideoIntro(String videoIntro) {
        this.videoIntro = videoIntro;
    }

    public String getVideoTags() {
        return videoTags;
    }

    public void setVideoTags(String videoTags) {
        this.videoTags = videoTags;
    }

    public String getUploaderName() {
        return uploaderName;
    }

    public void setUploaderName(String uploaderName) {
        this.uploaderName = uploaderName;
    }

    public LocalDateTime getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(LocalDateTime uploadTime) {
        this.uploadTime = uploadTime;
    }

    public Integer getViewCount() {
        return viewCount;
    }

    public void setViewCount(Integer viewCount) {
        this.viewCount = viewCount;
    }

    @Override
    public String toString() {
        return "PlaylistVideo{" +
                "id=" + id +
                ", playlistId=" + playlistId +
                ", videoId=" + videoId +
                ", orderNum=" + orderNum +
                ", addedTime=" + addedTime +
                ", playlistName='" + playlistName + '\'' +
                ", videoTitle='" + videoTitle + '\'' +
                ", videoIntro='" + videoIntro + '\'' +
                ", videoTags='" + videoTags + '\'' +
                ", uploaderName='" + uploaderName + '\'' +
                ", uploadTime=" + uploadTime +
                ", viewCount=" + viewCount +
                '}';
    }
}
